package org.useCode.font;

import com.aspose.pdf.*;

import javax.swing.text.Document;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;

public class test {
    public static <Page> void main(String[] args) {
        try {
            // 源数据流（例如，从文件、数据库或网络读取）
            byte[] data = "这是中文内容".getBytes(StandardCharsets.UTF_8);
            ByteArrayInputStream inputStream = new ByteArrayInputStream(data);

            // 创建PDF文档对象
            Document document = new Document();

            // 创建页面
            Page page = document.getPages().add();

            // 创建文本框
            TextFragment textFragment = new TextFragment(page);
            textFragment.addText(inputStream);

            // 设置字体和编码
            textFragment.getTextState().setFont("SimHei", Font.STYLE_NORMAL, 12);
            textFragment.getTextState().setFontEncoding(FontEncoding.ZH_CN);
            textFragment.getTextState().setFontEmbedding(FontEmbedding.EmbedAlways);

            // 添加文本到页面
            page.getParagraphs().add(textFragment);

            // 保存PDF文档
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            document.save(outputStream);
            byte[] pdfBytes = outputStream.toByteArray();
            outputStream.close();

            // 这里可以进一步处理pdfBytes，例如保存到文件或发送到客户端
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
